01
C++初探
C++历史、编译器安装(MinGW/GCC)、第一个程序Hello World
环境入门
02
变量与数据类型
整型、浮点型、字符型、布尔型、变量命名规则
基础类型
03
常量与运算符
字面常量、const常量、算术运算符、赋值运算符
运算符
04
输入输出与格式化
cin、cout、endl、setw、setprecision
I/O
05
选择结构
if、if-else、switch-case、三目运算符
分支
06
循环结构
while、do-while、for、循环嵌套、break与continue
循环
07
数组基础
一维数组声明与初始化、数组遍历、数组越界问题
数组
08
多维数组
二维数组、矩阵操作、数组作为函数参数
矩阵
09
字符串处理
C风格字符串、string类、常用成员函数
string
10
函数基础
函数定义、声明、参数传递(值传递)
函数
11
函数进阶
默认参数、函数重载、内联函数
重载
12
指针入门
指针概念、取地址符、解引用、空指针与野指针
指针
13
指针与数组
指针运算、数组名与指针、指针数组
指针数组
14
动态内存
new与delete、堆与栈、内存泄漏预防
内存
15
引用
引用概念、引用与指针区别、引用作为函数参数
引用
16
结构体
结构体定义、成员访问、结构体数组
struct
17
结构体进阶
结构体嵌套、结构体指针、结构体作为函数参数
struct
18
枚举与联合
enum枚举类型、union联合体、类型安全
enumunion
19
面向对象入门
类与对象、访问修饰符(public/private/protected)
OOP
20
构造函数与析构函数
默认构造、带参构造、拷贝构造、析构函数
构造
21
this指针与常对象
this指针、const成员函数、mutable关键字
thisconst
22
静态成员
static成员变量、static成员函数、单例模式初探
static
23
友元
友元函数、友元类、友元的优缺点
friend
24
运算符重载
重载规则、重载+、-、<<、>>、++、--
重载
25
继承
单继承、继承方式(public/protected/private)、构造析构顺序
继承
26
多继承与虚继承
菱形继承问题、虚继承原理、虚基类
虚继承
27
多态
虚函数、纯虚函数、抽象类、动态绑定
多态
28
虚函数表
vptr与vtable原理、运行时类型识别(RTTI)
vtable
29
文件操作(文本)
fstream、ifstream、ofstream、读写文本文件
文件
30
文件操作(二进制)
二进制读写、read/write、文件定位
二进制
31
异常处理
try-catch-throw、标准异常类、自定义异常
异常
32
模板基础
函数模板、类模板、模板实例化
模板
33
模板进阶
模板特化、偏特化、可变参数模板
特化
34
STL容器(vector)
vector用法、迭代器、容量操作
vector
35
STL容器(list与deque)
list双向链表、deque双端队列
listdeque
36
STL容器(stack与queue)
适配器容器、LIFO与FIFO
stackqueue
37
STL容器(set与map)
红黑树、有序关联容器、pair
setmap
38
STL容器(unordered系列)
哈希表、无序关联容器、性能对比
unordered
39
STL算法(排序与查找)
sort、find、binary_search、lower_bound
算法
40
STL算法(数值与变换)
accumulate、transform、copy、replace
算法
41
STL算法(删除与去重)
unique、remove、erase-remove惯用法
算法
42
STL函数对象
仿函数、lambda表达式、std::function
lambda
43
智能指针(unique_ptr)
独占所有权、move语义、自定义删除器
智能指针
44
智能指针(shared_ptr与weak_ptr)
引用计数、循环引用、weak_ptr
shared_ptr
45
移动语义与右值引用
移动构造、移动赋值、std::move、完美转发
移动语义
46
C++11新特性(auto与decltype)
类型推导、尾置返回类型
C++11
47
C++11新特性(范围for与初始化列表)
范围for循环、std::initializer_list
C++11
48
C++11新特性(nullptr与constexpr)
空指针常量、编译期常量
C++11
49
C++14/17新特性
结构化绑定、if constexpr、折叠表达式
C++17
50
C++20新特性
概念(concepts)、协程(coroutines)、范围(ranges)
C++20
51
实战:学生成绩管理系统
数组+结构体+文件
实战
52
实战:通讯录管理系统
链表+文件持久化
实战
58
实战:字符串工具类
string封装+常用算法
实战
60
实战:JSON解析器
状态机+递归下降
实战
61
实战:线程池
C++11线程+任务队列
实战